#ifndef CBASEUIOBJECT_H_
#define CBASEUIOBJECT_H_

#include "CUIFactory.h"
#include <D3D10_1.h>
#include <D3DX10.h>
#include <xnamath.h>

class CBaseUIObject
{
	D3DXVECTOR3 m_Position;
	CUIFactory::m_eUIObjectType m_eType;
	bool m_bIsMovable;

	float m_fMouseTimer;
	bool m_bMouseOver;

	CBaseUIObject* m_ParentUIObject;
	int m_nXOffset;
	int m_nYOffset;

public:

	CBaseUIObject();
	~CBaseUIObject();

	virtual void Update(double delta);
	virtual void Render();



	//Accessors and shit
	void SetPositon(D3DXVECTOR3 newPos) { m_Position = newPos; }
	D3DXVECTOR3 GetPostion() { return m_Position; }

	bool GetIsMovable() { return m_bIsMovable; }
	void SetIsMovable(bool movable) { m_bIsMovable = movable; }

	void SetType(CUIFactory::m_eUIObjectType type) { m_eType = type; }
	CUIFactory::m_eUIObjectType GetType() { return m_eType; }

	void SetParentUI(CBaseUIObject* parent) { m_ParentUIObject = parent; }
	CBaseUIObject* GetParentUI() { return m_ParentUIObject; }

	void SetXOffset(int newOff) { m_nXOffset = newOff; }
	int GetXOffset() { return m_nXOffset; }

	void SetYOffset(int newOff) { m_nYOffset = newOff; }
	int GetYOffset() { return m_nYOffset; }
};


#endif